package com.yidu.service;

import java.util.List;
import java.util.Map;

import com.yidu.domain.ListenFinance;
import com.yidu.domain.ListenSell;
import com.yidu.domain.ListenSellDetail;
import com.yidu.domain.ListenStock;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author jiangyu
 * @since 2018-11-27
 */
public interface ListenSellService{
	
	/**
	 * 查询分页
	 * @param map
	 * @return
	 */
	public List<ListenSell> selectAll(Map<String, Object> map);
	
	/**
	 * 审核查询
	 * @param map
	 * @return
	 */
	public List<ListenSell> selectState(Map<String, Object> map);
	
	
	/**
	 * 总经理审核查询
	 * @param map
	 * @return
	 */
	public List<ListenSell> selectManager(Map<String, Object> map);
	
	/**
	 * 查询总行数
	 * @param map
	 * @return
	 */
	int selectAllCount(Map<String, Object> map );
	
	/**
	 * 查询总经理审核总行数
	 * @param map
	 * @return
	 */
	int selectManagerCount(Map<String, Object> map );
	
	/**
	 * 修改审核状态
	 * @param listenSell
	 * @return
	 */
	int updateState(ListenSell listenSell);
	
	/**
	 * 审核查询总行数
	 * @param map
	 * @return
	 */
	int selectAllStateCount(Map<String, Object> map );
	
	/**
	 * 查询库存是否足够
	 * @param sellId
	 * @return
	 */
	List<ListenSell> findByMusicalNumber(String sellId);
	
	
	/**
     * 添加库存数量
     * @param listenStock
     * @return
     */
    int updateAddNumber(ListenStock listenStock);
    

    /**
     * 减少库存数量
     * @param listenStock
     * @return
     */
    int updateMinusNumber(ListenStock listenStock);
    
    /**
     * 添加公司财务
     * @param finance
     * @return
     */
    int updateAddMoney(ListenFinance finance);
    
    /**
     * 减少公司财务
     * @param finance
     * @return
     */
    int updateMinusMoney(ListenFinance finance);
    
    /**
     * 删除明细数据
     * @param Id
     * @return
     */
    int deleteById(String Id);
    
    
    /**
     * 查询审核通过的订单
     * @param map
     * @return
     */
    List<ListenSell> selectReturn(Map<String, Object> map);
    
    /**
     * 查询审核通过的订单的总行数
     * @param map
     * @return
     */
    int selectReturnCount(Map<String, Object> map);
    
    int addStock(ListenStock listenStock);
    
    ListenSell findBySellId(String id);
    
    int update (ListenSell listenSell);
	
}
